﻿Imports System.Data
Imports System.Data.OleDb
Imports System
Imports System.IO

Partial Class Interfaz_frmExtraMensaje
    Inherits System.Web.UI.Page
    Dim CL As New Logica.ModuloRHH.ControladorLogica
    Dim dtDatos As New DataTable
    Dim dataset As New DataSet

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            If CL.visibilidadesFormsInternos("Sistema", Session("user").ToString) = False Then
                Response.Redirect("Seleccion.aspx")
            End If
            LabelUser.Text = Session("user").ToString

            If Not Page.IsPostBack Then
                CargarDrop()
                CargarUsuario()
            End If
            FuncionAviso()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub


#Region "Funcionalidades"

    Private Sub CargarDrop()
        Try
            DropEleccion.Items.Add("Imagenes")
            DropEleccion.Items.Add("Archivos")
            DropEleccion.Items.Add("Video")
            DropEleccion.Items.Add("Otros")
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub


    Private Sub FuncionUpload()
        Try
            Dim sExt As String = String.Empty
            Dim sName As String = String.Empty
            Dim userEmpleado As String = Session("usuarioArchivo").ToString
            Dim opcionSeleccionado As String = Me.DropEleccion.Text

            If UploadFile.HasFile Then
                sName = UploadFile.FileName

                Dim pathSeleccionado As String = "E:\SSANCHEZ\proyectos2011\ProyectoMSH\SVN\Otros\DocumentosEmpleados\" & userEmpleado & "\" & opcionSeleccionado
                Dim pathSeleccionadoArchivo As String = "~/otros/DocumentosEmpleados/" & userEmpleado & "/" & opcionSeleccionado & "/" & sName
                sExt = Path.GetExtension(sName)
                crearDirectorios(pathSeleccionado)
                UploadFile.SaveAs(MapPath(pathSeleccionadoArchivo))
                MsgBox("Su archivo se ha subido satisfactoriamente")
            Else
                LabelMsj.Text = "Seleccione el archivo que desea subir."
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
      
    End Sub

    Private Function CambiaSlash(ByVal path As String) As String
        Dim pathFinal As String = ""

        Try
            For i As Integer = 0 To path.Length - 1
                If (path.Chars(i) <> "\") Then
                    pathFinal = pathFinal + path.Chars(i)
                Else
                    pathFinal = pathFinal + "/"
                End If
            Next
            Return pathFinal
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Function

    Private Sub crearDirectorios(ByVal Directory As String)
        
        On Error GoTo ErrSub

        Dim i As Integer
        Dim Array_Dir As Object
        Dim Sub_Dir As String
        Dim El_Path As String

        El_Path = Directory

        If El_Path = vbNullString Then
            Exit Sub
        End If

        'Desglosa el path y llena el array con los subdirectorios que se irán creando  
        Array_Dir = Split(El_Path, "\")

        El_Path = vbNullString

        'Recorre el vector anterior para ir creando uno por uno comenzando obviamente desde el directorio de primer nivel  
        For i = LBound(Array_Dir) To UBound(Array_Dir)
            Sub_Dir = Array_Dir(i)
            If Sub_Dir <> vbNullString Then
                El_Path = El_Path & Sub_Dir & "\"
                If Right$(Sub_Dir, 1) <> ":" Then
                    ' Verificamos que no exista  
                    If Dir(El_Path, vbDirectory) = vbNullString Then
                        'Crea la carpeta  
                        Call MkDir(El_Path)
                    End If
                End If
            End If
        Next
        'Error  
        Exit Sub

ErrSub:

        MsgBox("Número de error: " & Err.Number & _
               "Descripción del error: " & Err.Description, vbCritical)
    End Sub

    Private Sub CargarUsuario()
        Try
            Dim usuario As Usuario = DirectCast(CL.ObtenerUsuarioUserID(Session("usuarioArchivo")).Item(0), Usuario)
            Dim empleado As Empleado = DirectCast(CL.obtenerEmpleadoFK(usuario.RefEmpleado).Item(0), Empleado)
            Me.TxTNombre.Text = empleado.Nombre + " " + empleado.Apellido
            ImageUser.ImageUrl = empleado.RutaFoto
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub FuncionAviso()
        Try
            Dim cantidadPendientes As Integer = CInt(CL.cuentaSolicitudes.Item("cuenta").ToString)

            If cantidadPendientes <> 0 Then
                Image3.Visible = True
                Image4.Visible = False
            Else
                Image3.Visible = False
                Image4.Visible = True
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
       
    End Sub

#End Region

#Region "Botones"

    Protected Sub BtnLogout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
        Session("user") = ""
        Response.Redirect("Principal.aspx")
    End Sub

    Protected Sub BtnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnUpload.Click
        FuncionUpload()
    End Sub
#End Region


   
    
End Class